/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.biblioteca.dao.UsuarioDaoLocal;
import mx.its.dsw2.biblioteca.enumeracion.EstatusTransaccion;
import mx.its.dsw2.biblioteca.modelo.Usuario;

/**
 *
 * @author Juan Carlos
 */
@Stateless
public class UsuarioBl implements UsuarioBlLocal {
    @EJB
    private UsuarioDaoLocal usuarioDao;

    @Override
    public EstatusTransaccion register(Usuario user) {
        if (user.getId() == null && usuarioDao.findByDuplicity(user)) {
            return EstatusTransaccion.INCOMPLETO;
        }else{
            usuarioDao.create(user);
            return EstatusTransaccion.COMPLETO;
        }
    }

    @Override
    public EstatusTransaccion modify(Usuario user) {
        if (user.getId() == null && usuarioDao.findByDuplicity(user)) {
            return EstatusTransaccion.INCOMPLETO;
        }else{
            usuarioDao.edit(user);
            return EstatusTransaccion.COMPLETO;
        }
        
    }

    @Override
    public EstatusTransaccion delete(Usuario user) {
        if (user.getId() == null && usuarioDao.find(user.getId())== null) {
            return EstatusTransaccion.INCOMPLETO;
        }else{
            usuarioDao.remove(user);
            return EstatusTransaccion.COMPLETO;
        }
    }

    @Override
    public List<Usuario> listAll() {
        return usuarioDao.findAll();
    }
    


}
